home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 36 / Amiga Format CD36 (1999-01-22)(Future Publishing)(GB)[!][issue 1999-02].iso / -seriously_amiga- / misc / megabook / install < prev    next >
Text File  |  1998-12-12  |  13KB  |  581 lines

  1. ; $VER: MegaBook v4 Installer, Version 3.5 (6.12.98)
  2.  
  3. ;; Yeh! Original V3 comments :) This is V4 now, wohoo ... 2 years late but
  4. ;; kicking ass as always :)
  5.  
  6. ;; I really hate writing installers. Its worse then writing docs!
  7. ;; The docs and the installer probs take longer then the program :) Nah,
  8. ;; i've been working on MegaBook 3 for about a month now and this aint gonna
  9. ;; take that long ... 
  10.  
  11. ;; Hey .. get some kewl mods and HippoPlayer and make a huge play list ...
  12. ;; great while ya working (if u have the memory that is :)..) (and don't
  13. ;; forget to whack the volume right up on the stereo too)
  14.  
  15. ;; Anyway, enuff of the silly comments ... here's the installer :) bugger..
  16. ;; i really hate all these bloody brackets :( ... should of custom written
  17. ;; one in C .. never mind.
  18.  
  19. ;; BTW: the comments are mainly for my benefit as i keep forgetting what
  20. ;; each installer command does :) But they'll help u too if u decide to use
  21. ;; bits of this script :)
  22.  
  23. ;; Misc Messages
  24. (set WhereTo "Please select directory to install MegaBook to\n(a directory will be created)")
  25.  
  26. (set CopyExe "Copying MegaBook")
  27. (set CopyDocs "Copying Documentation")
  28. (set CopyExamp "Copying Examples")
  29. (set CopyExtras "Copying Extras")
  30. (set CopyStore "Copying Storage")
  31. (set CopyRexx "Copying ARexx Scripts")
  32. (set CopySamp "Copying Samples")
  33. (set CopyMbio "Copying MBIO System")
  34.  
  35. (set Modem "\n\n\n\n\nDo you have a modem ?")
  36. (set EMail "\n\n\n\n\nDo you have an EMail address ?")
  37. (set Fax "\n\n\n\n\nDo you use Fax software ?")
  38. (set MBIO "\n\n\n\n\nDo you want to install the MBIOs ?")
  39. (set MiniBook "\n\n\n\n\nDo you want to install MiniBook ?")
  40.  
  41. (set TermProg "Please select your terminal software")
  42. (set FaxProg "Please select your fax software")
  43. (set MailProg "Please select your mailer software")
  44.  
  45. (set StartP "\n\nThe following command needs to be\nadded to your user startup\n\nASSIGN MegaBook: \"")
  46.  
  47. ;; Help messages
  48. (set WhereToHelp "Select the directory you wish to install\nMegaBook into and select Ok\n\nA directory named MegaBook will be created")
  49. (set ModemHelp "MegaBook allows you to dial through a\nmodem to call BBS's. If you have on,\nselect Yes and you'll be ask to select\nyour terminal software. The installer\nwill then copy a ARexx script to enable\nyou to use your modem with MegaBook")
  50. (set EMailHelp "MegaBook allows you to send EMails\nif you have an internet account\nyou'll be able to send EMails direct\nfrom MegaBook.")
  51. (set FaxHelp "If your modem supports Fax, you can\nsend faxes from within MegaBook")
  52. (set MBIOHelp "MegaBook supports external file loaders/savers\ncalled MBIOs. These allow you to\nload and save file formats not\nsupported by MegaBook internally")
  53. (set MiniBookHelp "MiniBook is a small version of MegaBook\nthat only supports names and phone numbers.")
  54.  
  55. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  56. ;; Procedures                                                             ;;
  57. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  58. (procedure
  59.     makedirstruct
  60.     ;;
  61.     ;; Procedure to make the directory structure
  62.     ;; 
  63.     ;; No arguments, no locals. Uses @default-dest
  64.     ;;
  65.     ;; Returns a load of variables that i cant be arsed to repeat here :)
  66.     
  67.     ;; Set the main directory name.
  68.     (set @default-dest (tackon @default-dest "MegaBook"))
  69.     (makedir @default-dest
  70.                 (infos)
  71.     )
  72.     
  73.     (makedir (tackon @default-dest "Docs")
  74.                 (infos)
  75.     )
  76.     (set DocsDest (tackon @default-dest "Docs"))
  77.     
  78.     (makedir (tackon @default-dest "Examples")
  79.                 (infos)
  80.     )
  81.     (set ExampDest (tackon @default-dest "Examples"))
  82.     
  83.     (makedir (tackon @default-dest "Extras")
  84.                 (infos)
  85.     )
  86.     (set XtrasDest (tackon @default-dest "Extras"))
  87.     
  88.     (makedir (tackon XtrasDest "MBIO")
  89.                 (infos)
  90.     )
  91.     (set MBIODest (tackon XtrasDest "MBIO"))
  92.     
  93.     (makedir (tackon @default-dest "Storage")
  94.                 (infos)
  95.     )
  96.     (makedir (tackon @default-dest "Storage/SendEMail")
  97.                 (infos)
  98.     )
  99.     (makedir (tackon @default-dest "Storage/SendFax")
  100.                 (infos)
  101.     )
  102.     (makedir (tackon @default-dest "Storage/DialData")
  103.                 (infos)
  104.     )
  105.     (makedir (tackon @default-dest "Storage/MBIO")
  106.                 (infos)
  107.     )
  108.     (set StoreDest (tackon @default-dest "Storage"))
  109.     (set EMailDest (tackon @default-dest "Storage/SendEMail"))
  110.     (set FaxDest (tackon @default-dest "Storage/SendFax"))
  111.     (set DataDest (tackon @default-dest "Storage/DialData"))
  112.     (set MbioDest2 (tackon @default-dest "Storage/MBIO"))
  113.     
  114.     (makedir (tackon @default-dest "Rexx")
  115.                 (infos)
  116.     )
  117.     (set RexxDest (tackon @default-dest "Rexx"))
  118.     
  119.     (makedir (tackon @default-dest "Samples")
  120.                 (infos)
  121.     )
  122.     (set SampDest (tackon @default-dest "Samples"))
  123. )
  124.  
  125. (procedure
  126.     installexes
  127.     ;;
  128.     ;; Procedure to copy the main executables
  129.     ;;
  130.     ;; No args, no locals, no returns.
  131.     ;;
  132.     
  133.     (copyfiles
  134.         (prompt CopyExe)
  135.         (help @copyfiles-help)
  136.         (choices "MegaBook" "MegaBook-020")
  137.         (source "")
  138.         (dest @default-dest)
  139.         (confirm)
  140.         (infos)
  141.     )
  142. )
  143. (procedure
  144.     installdocs
  145.     ;;
  146.     ;; Procedure to copy the docs
  147.     ;;
  148.     ;; No args, no locals, no returns.
  149.     ;;
  150.     
  151.     (copyfiles
  152.         (prompt CopyDocs)
  153.         (help @copyfiles-help)
  154.         (choices "MegaBook.guide" "Developers.doc" "RegForm.txt" "FileConvert.doc")
  155.         (source "Docs/")
  156.         (dest DocsDest)
  157.         (confirm)
  158.         (infos)
  159.     )
  160. )
  161. (procedure
  162.     installexamp
  163.     ;;
  164.     ;; Procedure to copy the examples
  165.     ;;
  166.     ;; No args, no locals, no returns.
  167.     ;;
  168.     
  169.     (copyfiles
  170.         (prompt CopyExamp)
  171.         (help @copyfiles-help)
  172.         (source "Examples/")
  173.         (all)
  174.         (dest ExampDest)
  175.         (confirm)
  176.         (infos)
  177.     )
  178. )
  179. (procedure
  180.     installrexx
  181.     ;;
  182.     ;; Procedure to copy the arexx examples
  183.     ;;
  184.     ;; No args, no locals, no returns.
  185.     ;;
  186.     
  187.     (copyfiles
  188.         (prompt CopyRexx)
  189.         (help @copyfiles-help)
  190.         (source "Rexx/")
  191.         (all)
  192.         (dest RexxDest)
  193.         (confirm)
  194.         (infos)
  195.     )
  196. )
  197. (procedure
  198.     installsamp
  199.     ;;
  200.     ;; Procedure to copy the samples
  201.     ;;
  202.     ;; No args, no locals, no returns.
  203.     ;;
  204.     
  205.     (copyfiles
  206.         (prompt CopySamp)
  207.         (help @copyfiles-help)
  208.         (source "Samples/")
  209.         (all)
  210.         (dest SampDest)
  211.         (infos)
  212.     )
  213. )
  214. (procedure
  215.     installstore
  216.     ;;
  217.     ;; Procedure to copy the storage dir
  218.     ;;
  219.     ;; No args, no locals, no returns.
  220.     ;;
  221.     
  222.     (copyfiles
  223.         (prompt CopyStore)
  224.         (help @copyfiles-help)
  225.         (source "Storage/DialData")
  226.         (all)
  227.         (dest DataDest)
  228.         (infos)
  229.     )
  230.     (copyfiles
  231.         (prompt CopyStore)
  232.         (help @copyfiles-help)
  233.         (source "Storage/SendEMail")
  234.         (all)
  235.         (dest EMailDest)
  236.         (infos)
  237.     )
  238.     (copyfiles
  239.         (prompt CopyStore)
  240.         (help @copyfiles-help)
  241.         (source "Storage/SendFax")
  242.         (all)
  243.         (dest FaxDest)
  244.         (infos)
  245.     )
  246.     (copyfiles
  247.         (prompt CopyStore)
  248.         (help @copyfiles-help)
  249.         (source "Storage/MBIO")
  250.         (all)
  251.         (dest MbioDest2)
  252.         (infos)
  253.     )
  254. )
  255. (procedure
  256.     installxtras
  257.     ;;
  258.     ;; The Extras Installer Procedure
  259.     ;; This is a tad complex and i can't be arsed to comment it any more.
  260.     ;;
  261.     ;; Look, it's 1:10am now and i've been working on bits of megabook since
  262.     ;; about 3:30pm and i'm KNACKERED.
  263.     ;; ^^^ Thats nothing, I did 3AM till 6PM on MB4 the other day :)
  264.     ;;
  265.     ;; Hope all thsi work is worth my bother, if no one uses this ... hmm
  266.     ;; oh well, such is life.
  267.     ;; yup, its another stupid comment and chariots of fire is blurting out
  268.     ;; the stereo for some unknown reason ... ahh, its in Hippo's play
  269.     ;; list :) hmm... whats next ... yup ... kewl ravey one from the
  270.     ;; shun ep.
  271.     ;; shit ... best right the procedure instead of this stupid comment :)
  272.     ;; here goes...
  273.     ;;
  274.     ;; wait for it.... ahh, i feel it coming ... nope, not yet..
  275.     ;; NOW!
  276.     ;; oh, mebbe not ...yesh :) kewl ravey track :)
  277.     ;; hmmm, whaddya mean shut up ? oh, ok :)
  278.     
  279.     (set gotmodem 
  280.         (askbool
  281.             (prompt Modem)
  282.             (default 1)
  283.             (help ModemHelp)
  284.         )
  285.     )
  286.     
  287.     (if (= gotmodem 1)
  288.         (
  289.             (set termtype (askchoice
  290.                               (prompt TermProg)
  291.                               (default 0)
  292.                               (choices "NComm"
  293.                                        "Term"
  294.                                        "ZeeTerm"
  295.                                        "Termite")
  296.                               (help @askchoice-help)
  297.                           )
  298.             )
  299.             (select termtype
  300.                 (
  301.                     (copyfiles
  302.                         (prompt CopyExtras)
  303.                         (source "Storage/DialData/NComm.mbrx")
  304.                         (newname "DialData.mbrx")
  305.                         (dest XtrasDest)
  306.                         (infos)
  307.                         (help @copyfiles-help)
  308.                     )
  309.                 )
  310.                 (
  311.                     (copyfiles
  312.                         (prompt CopyExtras)
  313.                         (source "Storage/DialData/Term.mbrx")
  314.                         (newname "DialData.mbrx")
  315.                         (dest XtrasDest)
  316.                         (infos)
  317.                         (help @copyfiles-help)
  318.                     )
  319.                 )
  320.                 (
  321.                     (copyfiles
  322.                         (prompt CopyExtras)
  323.                         (source "Storage/DialData/ZeeTerm.mbrx")
  324.                         (newname "DialData.mbrx")
  325.                         (dest XtrasDest)
  326.                         (infos)
  327.                         (help @copyfiles-help)
  328.                     )
  329.                 )
  330.                 (
  331.                     (copyfiles
  332.                         (prompt CopyExtras)
  333.                         (source "Storage/DialData/Termite.mbrx")
  334.                         (newname "DialData.mbrx")
  335.                         (dest XtrasDest)
  336.                         (infos)
  337.                         (help @copyfiles-help)
  338.                     )
  339.                 )
  340.             )
  341.             
  342.             (set faxtype (askchoice
  343.                               (prompt FaxProg)
  344.                               (default 0)
  345.                               (choices "ST Fax Pro")
  346.                               (help @askchoice-help)
  347.                           )
  348.             )
  349.             (select faxtype
  350.                 (
  351.                     (copyfiles
  352.                         (prompt CopyExtras)
  353.                         (source "Storage/SendFax/STFaxPro_fax.mbrx")
  354.                         (newname "SendFax.mbrx")
  355.                         (dest XtrasDest)
  356.                         (infos)
  357.                         (help @copyfiles-help)
  358.                     )
  359.                 )
  360.             )
  361.         )
  362.     )
  363.     (set gotemail
  364.         (askbool
  365.             (prompt EMail)
  366.             (default 1)
  367.             (help EMailHelp)
  368.         )
  369.     )
  370.     ;; hey, i'm annoyed now! i keep typing {'s instead of ('s and }'s instead
  371.     ;; of )'s ... oh well, i'm too used to C :)
  372.     (if (= gotemail 1)
  373.         (
  374.             (set mailer (askchoice
  375.                             (prompt MailProg)
  376.                               (default 0)
  377.                               (choices "Spot"
  378.                                        "Yam 1.3"
  379.                                        "Yam 2.0")
  380.                               (help @askchoice-help)
  381.                         )
  382.             )
  383.             
  384.             (select mailer
  385.                 (
  386.                     (copyfiles
  387.                         (prompt CopyExtras)
  388.                         (source "Storage/SendEMail/Spot.mbrx")
  389.                         (newname "SendEMail.mbrx")
  390.                         (dest XtrasDest)
  391.                         (infos)
  392.                         (help @copyfiles-help)
  393.                     )
  394.                 )
  395.                 (
  396.                     (copyfiles
  397.                         (prompt CopyExtras)
  398.                         (source "Storage/SendEMail/Yam.mbrx")
  399.                         (newname "SendEMail.mbrx")
  400.                         (dest XtrasDest)
  401.                         (infos)
  402.                         (help @copyfiles-help)
  403.                     )
  404.                 )
  405.                 (
  406.                     (copyfiles
  407.                         (prompt CopyExtras)
  408.                         (source "Storage/SendEMail/Yam2.mbrx")
  409.                         (newname "SendEMail.mbrx")
  410.                         (dest XtrasDest)
  411.                         (infos)
  412.                         (help @copyfiles-help)
  413.                     )
  414.                 )
  415.             )
  416.         )
  417.     )
  418.     
  419.     (set gotmbio
  420.         (askbool
  421.             (prompt MBIO)
  422.             (default 1)
  423.             (help MBIOHelp)
  424.         )
  425.     )
  426.     
  427.     (if (= gotmbio 1)
  428.         (
  429.             (copyfiles
  430.                 (prompt CopyMbio)
  431.                 (help @copyfiles-help)
  432.                 (source "Extras/MBIO/")
  433.                 (all)
  434.                 (dest MBIODest)
  435.                 (confirm)
  436.                 (infos)
  437.             )
  438.         )
  439.     )
  440.         
  441. )
  442. (procedure
  443.     faxmsg
  444.     
  445.     (message "Unfortunately, there are no fax scripts in\nthis release of MegaBook. This is because\nwe couldn't find any ARexx docs for\nGPFax and other fax programs. If you write\na good fax script, we would like to see it\nSee docs for more info")
  446. )
  447.  
  448. (procedure
  449.     dolibs
  450.     ;;
  451.     ;; install the libs
  452.     ;;
  453.     (copylib
  454.         (prompt "Installing needed libraries")
  455.         (help @copylib-help)
  456.         (source "libs/reqtools.library")
  457.         (dest "LIBS:")
  458.         (confirm)
  459.     )
  460.     
  461.     (copylib
  462.         (prompt "Installing needed libraries")
  463.         (help @copylib-help)
  464.         (source "libs/powerpacker.library")
  465.         (dest "LIBS:")
  466.         (confirm)
  467.     )
  468. )
  469.  
  470. (procedure 
  471.     installminibook
  472.     ;; MiniBook Installation
  473.     
  474.     (set wantminibook
  475.         (askbool
  476.             (prompt MiniBook)
  477.             (default 1)
  478.             (help MiniBookhelp)
  479.         )
  480.     )
  481.     
  482.     (if (= wantminibook 1)
  483.         (
  484.             (copyfiles
  485.                 (prompt CopyExe)
  486.                 (help @copyfiles-help)
  487.                 (choices "MiniBook")
  488.                 (source "MiniBook/")
  489.                 (dest @default-dest)
  490.                 (confirm)
  491.                 (infos)
  492.             )
  493.             
  494.             (copyfiles
  495.                 (prompt CopyDocs)
  496.                 (help @copyfiles-help)
  497.                 (choices "MiniBook.guide")
  498.                 (source "Docs/")
  499.                 (dest DocsDest)
  500.                 (confirm)
  501.                 (infos)
  502.             )
  503.             
  504.             (copyfiles
  505.                 (prompt CopyExamp)
  506.                 (help @copyfiles-help)
  507.                 (source "MiniBook/Examples/")
  508.                 (all)
  509.                 (dest ExampDest)
  510.                 (confirm)
  511.                 (infos)
  512.             )
  513.         )
  514.     )
  515. )
  516. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  517. ;; Start of the installer                                                 ;;
  518. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  519.  
  520. (set hello "\nWelcome to\n\nMegaBook Version 4.15\n By Tom Bampton\n\n© 1996,1998 Eden Developments\n\nMegaBook Install Script Version 3.5\n\n\nThe ULTIMATE Amiga Address Book")
  521.  
  522. (message hello)
  523. (welcome)
  524.  
  525. ;; Get directory to install to
  526. (set @default-dest (askdir
  527.                         (prompt WhereTo)
  528.                         (help WhereToHelp)
  529.                         (default @default-dest)
  530.                     )
  531. )
  532.  
  533. ;; Make the directory structure, we'll have some destination vars at the end
  534. ;; of this proccy too
  535. (makedirstruct)
  536. (complete 10)
  537.  
  538. ;; Install the main executables
  539. (installexes)
  540. (complete 20)
  541. ;; Install the docs
  542. (installdocs)
  543. (complete 30)
  544. ;; Install examples
  545. (installexamp)
  546. (complete 40)
  547. ;; Install Arexx examples
  548. (installrexx)
  549. (complete 50)
  550. ;; Install samples
  551. (installsamp)
  552. (complete 60)
  553. ;; Install Storage dir
  554. (installstore)
  555. (complete 70)
  556. ;; Install extras
  557. (installxtras)
  558. ;(faxmsg)
  559. (complete 80)
  560. ;; Install libs
  561. (dolibs)
  562. (complete 90)
  563. ;; Install MiniBook
  564. (installminibook)
  565.  
  566. ;; Add to the user-startup
  567. (startup "MegaBook Version 4.0"
  568.     (prompt (cat (cat StartP @default-dest) "\""))
  569.     (help @startup-help)
  570.     (command (cat (cat "ASSIGN MegaBook: \"" @default-dest) "\""))
  571. )
  572.  
  573. (complete 100)
  574.  
  575. ;; Wahey! at bloody last! bugger, its 2AM now and this script has taken
  576. ;; about 3 hours to write, mebbe 4 ... i hope u guys appreciate it!
  577.  
  578. ;; Bollocks, its 11AM on a saturday hehehe
  579.  
  580. ;; What ? Thats a lie ...i'ts 1:15AM on a thursday/friday :) Good show on
  581. ;; TV in 45 mins, hope this is done in time ...